Some Cross Validation Results





Kerry Back

  • Same features as in 3a-trees
    • agr, bm, idiovol, mom12m, roeq
  • Quantile transform features and ret in each cross-section
  • Cross-validate on full dataset 2000-2021

GridSearchCV for Random Forest

model = RandomForestRegressor()

cv = GridSearchCV(
  model,
  param_grid={
    "max_depth": range(1, 11)
  },
)
_ = cv.fit(X, y)

GridSearchCV for Multi-Layer Perceptron

param_grid={
    "hidden_layer_sizes": [
        [16, 8, 4, 2], 
        [16, 8, 4],
        [8, 4, 2], 
        [16, 8],
        [16, 4],
        [8, 4],
        [4, 4],
        [4, 2]
    ]
}

model = MLPRegressor(max_iter=500)
cv = GridSearchCV(
  model,
  param_grid=param_grid
)
_ = cv.fit(X, y)

RandomizedSearchCV for Gradient Boosting

from scipy.stats import uniform
u = uniform(scale=0.2)

model = GradientBoostingRegressor()
cv = RandomizedSearchCV(
    model,
    param_distributions={
        "learning_rate": u,
        "max_depth": range(2, 10, 2)
    },
    n_iter=16
)
_ = cv.fit(X, y)